iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
AI/ ML & Data

ML/DL-新手選手村系列 第 21

day21_ML實戰演練:Kaggle

  • 分享至 

  • xImage
  •  
  • [Kaggle(https://www.kaggle.com/) 是開放式世界規模的ML資料平台和資料科學社群:
    再有了之前學問的理論基礎,到了實際接觸ML的世界,在這裏可以跟世界各地的資料科學家一同切磋資料科學的競賽。

  • 今天我們要介紹的是:

  • kaggle 著名的資料集

  • 新手如何從kaggle入門

  • kaggle 的競賽

  • kaggle 著名的資料集

  • 花朵識別:iris

    • 共有:3類花朵 (setosa、versicolor、virginica)
    • 下載:iris.data.csv
    • 共有5個欄位分別為花瓣長度 sepal length/花瓣寬度 sepal width/花萼長度 petal length/花萼寬度 petal width
  • 鐵達尼號:[titanic] (https://www.kaggle.com/c/titanic)

    • 資料集分為:已經幫我們分類成 traini.csv和test.csv
    • 資料欄位:生還與否,年齡,性別,倉等級等....
  • 新手如何從kaggle入門:

    • 同學可以經由[datasets and tutorial for beginners] (https://www.kaggle.com/code/m2skills/datasets-and-tutorial-kernels-for-beginners)這裡開始,在這裏已經幫大家按照ML演算法分類出來,同學可以自行挑選自己喜歡的資料集,以「鐵達尼號」為經由上方的連結,您可以在搜尋欄位下方的頁籤,ex.Data 就放datasets ,Code就是全世界各地的資料科學家所上傳code,您可以選擇最多投票Most Votes或是最多評論Most Comments的去看。
      • 之前沒有任何程式基礎的:
        • 新手 Visual Studio Code and Python 入門[https://hackmd.io/@smallshawn95/vscode_write_py],這篇文章還蠻詳細的。
        • iris程式碼範例:

# 載入 pandas 套件
import pandas as pd
# 載入分割 訓練 測試 資料 套件
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

# 讀取data
df = pd.read_csv('iris.data.csv')

# 取最後一行資料當target
y = df.iloc[:,-1]

# 取前四行資料當特徵X
X = df.iloc[:,0:4]

# train data 80%,test data 20%

X_train, X_test = train_test_split(X, test_size=0.2, train_size=0.8)
y_train, y_test = train_test_split(y, test_size=0.2, train_size=0.8)


rf = RandomForestClassifier(n_estimators=25, criterion='entropy', max_depth=10)
rf.fit(X_train, y_train)
rf.predict(X_train)
print(rf.score(X_train, y_train))
  • 我們取上面的範例iris datasets 資料檔iris.data.csv,要放在與程式同一層的目錄下,程式檔名為.ipynb為副檔名。

  • pandas 套件是python做資料處理用的,與numpy齊名。

  • 這裡我們用到之前花了5天介紹的decision tree和random forest的範例程式檔。得出用 randomforest 預測的結果有0.9915966386554622,幾乎百分之一百,應證我們說過randomforest的模型效果屬於優等生。

  • df是dataframe是二維的arraylike資料,你可以把它想像成矩陣的行與列

  • iloc是切片slice,iloc[:,-1],‘,’之前‘:’,表示全取列,後面的-1表示取最後一行。iloc的索引index是從0起算,‘0:3'表示取前四行。

  • kaggle 的競賽

    • 註冊登入帳號之後kaggle,選擇complete,裡面有分初級,中 級,進階級。 

    • 初級就可以看到titanic

"- 工商服務一下:

這系列結束後,我將繼續挑戰IT鐵人30日:
佛心分享 : it 考照之路
主題:從摸索7個月到下定決心訂下3週後考試:自學取得PMP 3AT 執照
"

如果你有志成為資料科學家,最快速的方法是選擇仿間的補習班,幫助你快速入門,或是選擇供讀研究所深造。

  • 明天我們將要談談ML supervised learning績效評估指標,敬請期待。

上一篇
day20_常見ML分群演算法:K-means、Hierarchy Clustering、DBSCAN
下一篇
day22_ML的supervised learning 效能評估
系列文
ML/DL-新手選手村22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言